// 程序:  变量+表达式+方法
//表达式: 变量+运算式
//方法实现：多个表达式

//运算式：
//算术运算符：+-*/++--
//逻辑运算符：&&(并且)  ||（或者）  ！（非，取反）
//赋值运算符：=   +=   -=   /=
//关系运算符：>   <>   <=   >=   !=   ==

//优先级：
//  ()  【】 
//  *  /  %  +  -
//  <  >  <=  >=  ==  !=
//  !  &&  ||

//定义变量： var 变量名 = 值； 值： 数字，字符，数组，类，方法，表达式

var nub = 1; var nub2 = 1.1;//数字
var str = "abcadeg";//字符
var arr = [];var arr2 = [1,2,3];//数组
var sum = mub+nub2; var count = str +"你好"//表达式
var fun = eval("1+2");//方法
var obj = new Object(); var date = new Date();//类
//变量定义 不使用 就无意义
//方法和类后面的() 是用来做区分的是一个标识符，不是运算符
//方法使用：方法名(值......)
//使用上面定义的变量 nub nub2 完成一个 先相加 后×10 的表达式
var jiegou = (nub + nub2)*10

//输出显示数组 arr2 中的 第三个值
//数组取值：数组名【下标|位置】 #下标是从0开始数的
document.write(arr2[2])

//给arr 数组中 第一个位置 赋值为"中国"
//数组指定下标赋值： 数组名【下标】 = 值；
arr[0] = "中国"

//修改 变量 str 的值为 长沙南方
var str="长沙南方"

//条件语句，判断语句，分支语句
//if(条件){

//}
//条件： 变量，表达式，方法。(必须能够有结果，且结果只能是true或false)
//true对，满足 false 错，不满足
var isOK = true;
if(isOK){
    //代码
}
var x = 10;
if(x>3&&x<8){//false
    //代码
}

//定义方法
//function  方法名  (参数...)


//定义一个方法，有2个入参
//判断 这2个值，那个大，并返回这个大的值
function max (a,b){
var  max =a > b ?  a ： b;
//三目运算:判断条件？条件满足的值：条件不满足的值
return max;//返回
}

function max2 (a,b){
    if(a>b){
        return a;
    }
    return b;
}

//定义一个方法 有3个参数  返回最小得到那个值
function minThree (a,b,c){
    if(a<b&&a<c){
        return 1;}
    if (b<a&&b<c) {  
    return b;
    }
    return c;
}

//定义一个方法 有4个参数  返回最小得到那个值
function min(nab1,nab2,nab3,nab4){
    if(nab1<nab2&&nab1<nab4&&nab1<nab3){return nab1;}
    if(nab2<nab1&&nab2<nab3&&nab2<nab4){return nab2;}
    if(nab3<nab1&&nab3<nab2&&nab3<nab4){return nab3;}
    return nab4;
}
//或 两两对比
function min(nub1,nub2,nub3,nub4){
var min1 = nub1 <nub2?nub1:nub2;
var min2 = nub3 <nub4?nub3:nub4;
var min = min1 <min2?min1:min2;;
return min
}

//用已经写好的方法
function wimin(nub1,nub2,nub3,nub4){
debugger;
var a= minThree(nub1,nub2,nub3);
var m=a< nub4?a:nub4;
return m
}
wimin(4,2,10,3)

//定义一个方法 有4个参数  返回最小得到那个值
function min(nub1,nub2,nub3,nub4,nub5){
    var min1 = nub1 <nub2?nub1:nub2;
    var min2 = nub3 <nub4?nub3:nub4;
    var min3 = min1 <min2?min1:min2;
    var min = min3<nub5?min3:nub5;
    return min
}
//定义一个方法 有5个参数  返回最小得到那个值
function wiwmin(nub1,nub2,nub3,nub4,nub5){
    
    var a=wimin(nub1,nub2,nub3,nub4);=
    var m=a<nub5?a:nub5;
    return m
}



function wiwminw(nub1,nub2,nub3,nub4,nub5,nub6,nub7,nub8,nub9,nub10){
    var a=wiwmin(nub1,nub2,nub3,nub4,nub5);
    var b=wiwmin(nub6,nub7,nub8,nub9,nub10);
    var m=a<b?a:b;
    return m
}

function woshi(a,s,d,f,g,h,j){
    var a1=wiwmin(a,s,d,f,g);
    var a2=inThree(a1,h,j);
    return a2
}